---
title: Integrate with XCreds
sidebar_label: XCreds
support_level: community
---

## What is XCreds

> Xcreds is an open source project for synchronizing IdP passwords with macOS login passwords. Xcreds replaces the macOS login window to provide authentication to the cloud provider; a user enters their cloud password for authentication and Xcreds keeps the local Mac password synchronized with the cloud password.
>
> -- https://twocanoes.com/products/mac/xcreds/

:::note
This documentation lists only the settings that you need to change from their default values. Be aware that any changes other than those explicitly mentioned in this guide could cause issues accessing your application.
:::

## authentik configuration

To support the integration of XCreds with authentik, you need to create an application/provider pair in authentik.

### Create an application and provider in authentik

1. Log in to authentik as an administrator and open the authentik Admin interface.
2. Navigate to **Applications** > **Applications** and click **Create with Provider** to create an application and provider pair. (Alternatively you can first create a provider separately, then create the application and connect it with the provider.)
    - **Application**: provide a descriptive name, an optional group for the type of application, the policy engine mode, and optional UI settings.
    - **Choose a Provider type**: select **OAuth2/OpenID Connect** as the provider type.
    - **Configure the Provider**: provide a name (or accept the auto-provided name), the authorization flow to use for this provider, and the following required configurations.
        - Note the **Client ID**, and **Client Secret** values because they will be required later.
        - Set a `Strict` redirect URI to `https://127.0.0.1/xcreds`
    - **Configure Bindings** _(optional)_: you can create a [binding](/docs/add-secure-apps/flows-stages/bindings/) (policy, group, or user) to manage the listing and access to applications on a user's **My applications** page.

3. Click **Submit** to save the new application and provider.

### Copy OpenID configuration URL

1. Log in to authentik as an administrator and open the authentik Admin interface.
2. Navigate to **Applications** > **Providers** and click on the name of the newly created XCreds provider.
3. Copy the **OpenID Configuration URL**. This will be required to configure XCreds in the next section.

## XCreds configuration

After XCreds is installed on a target Mac you will need to configure it by creating, installing, and applying a profile. More information can be found in the [XCreds Admin Guide](https://twocanoes.com/knowledge-base/xcreds-admin-guide/).

### ProfileCreator

[ProfileCreator](https://github.com/ProfileCreator/ProfileCreator) is an open source macOS application used to create configuration policies. It is required to create a configuration policy for XCreds.

1. Open the **ProfileCreator** application and click on the `+` icon in the top left corner to create a new configuration policy:
    - Under **General** provide a descriptive Payload Display Name, Payload Description, and Payload Organization.

2. Now you need to add a XCreds payload to the configuration policy. Click on the **Application Managed Preferences** icon in the left hand column that looks like an `A` (third icon from the left, in the left hand column).
3. Select XCreds in the list and click the **Add** button in the top right corner of the screen.
4. Under **Disabled Keys** click the `+` icon next to the following keys and set the required configurations:
    - **Client ID**: the authentik Client ID
    - **Client Secret**: the authentik Client Secret
    - **Discovery URL**: the authentik OpenID configuration URL
    - **Redirect URI**: `https://127.0.0.1/xcreds`
5. Click on the **Export Profile** icon at the top left of the screen and set the following required configurations:
    - **Platform**: `macOS`
    - **Scope**: `System`
    - **Payload Content Type**: `Profile`
6. Click **Save**.

### Install the profile to the target Mac

Next, you need to install the created profile on the target Mac.

1. Log in to the Mac and navigate to **System Settings** > **General** > **Device Management**.
2. Under **Device**, click the `+` icon.
3. Select the profile that was created in the previous section.
4. Click **Continue**, **Install** and enter the device password.

## Configuration verification

To confirm that authentik is properly configured with XCreds on the target Mac, log out and log back in via the XCreds/authentik login screen.

If you need to log into a local account on the Mac, you can click on the **Mac Login Window** button.
